QD51 - 8 ÉrÉbÉgÇÊÇËëÂÇ´Ç¢ÉOÉåÉCÉXÉPÅ[ÉãâÊëúÇÃçÏê¨

(97 îN 11 åé 17 ì˙)

Q: 8 ÉrÉbÉgÇÊÇËëÂÇ´Ç¢âëúìxÇÃÉOÉåÉCÉXÉPÅ[ÉãâÊëúÇçÏê¨ÇµÇƒÅAMac Ç≈ï\é¶ÇµÇΩÇ¢ÇΔévǢNjÇ∑ÅBç≈ó«ÇÃï˚ñ@Çã≥ǶǃÇ≠ÇæÇ≥Ç¢ÅB

A: Quickdraw Ç…ÇÕå≥óàÉOÉåÉCÉXÉPÅ[Éã PixMaps ÇÃÉTÉ|Å[ÉgǙǻǢÇΩÇflÅAìΔé©ÇÃÉfÅ[É^ç\ë¢Çç\ízǵǃÉOÉåÉCÉXÉPÅ[ÉãâÊëúÇëÄçÏǵÅAÉIÉtÉXÉNÉäÅ[ÉìÇà GWorld Ç…ÉRÉsÅ[ǵǃÅAâÊñ Ç…ï`âÊÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Quickdraw ÇÃÉIÉtÉXÉNÉäÅ[ÉìópÉJÉâÅ[ÉeÅ[ÉuÉãÇÕÅAîíÇ™ 0ÅAçïÇ™ 255 ÇÃà íuÇ…Ç»ÇËÇ‹Ç∑ÅBQuickdraw ÇÕèÌÇ…îíÇΔçïǙDZÇÃà íuDždžÇÈLJÇÃÇΔçlǶÇÈÇΩÇflÅAï ÇÃà íuDždžÇÈÇΔê≥ǵÇ≠ìÆçÏǵNjÇπÇÒÅBÇΔDZÇÎÇ™ÅADZÇÍÇÕÉOÉåÉCÉXÉPÅ[ÉãâÊëúÇÃãPìxÇΔÇÕîΩëŒÇ≈Ç∑ÅBÉOÉåÉCÉXÉPÅ[ÉãÇÃèÍçáÅAçïÇ™ 0ÅAîíÇ™ 255 ÇÃà íuÇ…Ç»ÇËÇ‹Ç∑ÅB

ëºÇ…ïKóvÇ»ÇÃÇÕÅAìΔé©ÇÃÉfÅ[É^ç\ë¢Ç Quickdraw ÇÃÉIÉtÉXÉNÉäÅ[ÉìÇ…ïœä∑Ç∑ÇÈÇΩÇflÇÃÉãÅ[É`ÉìÇ≈Ç∑ÅBDZÇÃïœä∑ÇÕäeÉOÉåÉCÉXÉPÅ[ÉãÇÃÉsÉNÉZÉãÇÃç≈è„à  8 ÉrÉbÉgÇéÊÇËÅADZÇÍÇîΩì]ǵǃÉIÉtÉXÉNÉäÅ[ÉìÇà GWorld Ç…ÉRÉsÅ[ǵǃçsǢNjÇ∑ÅBÅwDevelop 10: Drawing in GWorlds for Speed and VersatilityÅxÇ…ÅAó«Ç¢ê‡ñæÇ™ç⁄ǡǃǢNjÇ∑ÅBà»â∫ÇÃÉRÅ[ÉhÇÕÅA4 ÉsÉNÉZÉãï™ÇÃÉfÅ[É^DžǬǢǃÅA16 ÉrÉbÉgÇÃÉOÉåÉCÉXÉPÅ[ÉãÅEÉsÉNÉZÉãÇ©ÇÁ 8 ÉrÉbÉgÇÃÉJÉâÅ[ÅEÉCÉìÉfÉbÉNÉXÇ…ïœä∑Ç∑ÇÈLJÇÃÇ≈Ç∑ÅB

UInt16 *sourceGreyPtr;
UInt32 *destPixelsPtr;
UInt16 pixel1, pixel2, pixel3, pixel4;
UInt32 pixelOutput;

{
        pixel1 = sourceGreyPtr[0];
        pixel2 = sourceGreyPtr[1];
        pixel3 = sourceGreyPtr[2];
        pixel4 = sourceGreyPtr[3];
        // äeÉsÉNÉZÉãÇäYìñà íuÇ‹Ç≈ÉVÉtÉgǵǃÅAï‚êîÇéÊÇËÅAäYìñÉoÉCÉgÇÉ}ÉXÉNÇ∑ÇÈ
        pixel1 = ~(pixel1 << 16) & 0xFF000000;
        pixel2 = ~(pixel2 << 8)  & 0x00FF0000;
        pixel3 = ~(pixel3)       & 0x0000FF00;
        pixel4 = ~(pixel4 >8)  & 0x000000FF;
        pixelOutput = (pixel1 << 24) | (pixel2 << 16) | (pixel3 << 8) | (pixel4);
        *destPixelsPtr = pixelOutput;
         sourceGreyPtr +=4;                           // 8 ÉoÉCÉgêiÇflÇÈ
         destPixelsPtr +=1;                           // 4 ÉoÉCÉgêiÇflÇÈ
}
Quickdraw GX Ç…ÇÕÅAãPìxÉxÅ[ÉXÇÃÉJÉâÅ[ÉÇÉfÉã (gxGraySpace) Ç™ä‹Ç‹ÇÍǃǢNjÇ∑ÅB

-- Tim Carroll
devsupport@apple.com


[ Technical Q&A's : Graphics & Media : QuickDraw : QD51 ]